home *** CD-ROM | disk | FTP | other *** search
- /*-------------------------------------
-
- POPPAD1.C -- Popup Editor Using Child Window Edit Box
- (c) Charles Petzold, 1990
- ---------------------------------------*/
- #include <windows.h>
-
- long FAR PASCAL WndProc (HWND, WORD, WORD, LONG);
- char szAppName[] = "PopPad1" ;
- int PASCAL WinMain (HANDLE hInstance, HANDLE hPrevInstance,
- LPSTR lpszCmdLine, int nCmdShow)
- {
- HWND hwnd;
- MSG msg;
- WNDCLASS wndclass;
-
- if (!hPrevInstance)
- {
- wndclass.style = CS_HREDRAW | CS_VREDRAW;
- wndclass.lpfnWndProc = WndProc;
- wndclass.cbClsExtra = 0;
- wndclass.cbWndExtra = 0;
- wndclass.hInstance = hInstance;
- wndclass.hIcon = LoadIcon (NULL,IDI_APPLICATION);
- wndclass.hCursor = LoadCursor (NULL, IDC_ARROW);
- wndclass.hbrBackground = GetStockObject (WHITE_BRUSH);
- wndclass.lpszMenuName = NULL;
- wndclass.lpszClassName = szAppName;
-
- RegisterClass (&wndclass);
- }
-
- hwnd = CreateWindow (szAppName, szAppName,
- WS_OVERLAPPEDWINDOW,
- CW_USEDEFAULT,CW_USEDEFAULT,
- GetSystemMetrics (SM_CXSCREEN) / 2,
- GetSystemMetrics (SM_CYSCREEN) / 2,
- NULL, NULL, hInstance, NULL) ;
-
- ShowWindow (hwnd, nCmdShow);
- UpdateWindow (hwnd);
-
- while (GetMessage (&msg, NULL, 0, 0))
- {
- TranslateMessage (&msg);
- DispatchMessage (&msg);
- }
- return msg.wParam;
- }
-
- long FAR PASCAL WndProc (HWND hwnd, WORD message, WORD wParam, LONG lParam)
- {
- static HWND hwndEdit ;
-
- switch (message)
- {
- case WM_CREATE :
- hwndEdit = CreateWindow ( " edit ", NULL,
- WS_CHILD | WS_VISIBLE | WS_HSCROLL | WS_VSCROLL |
- WS_BORDER | ES_LEFT | ES_MULTILINE|
- ES_AUTOHSCROLL | ES_AUTOVSCROLL,
- 0,0,0,0,
- hwnd,1,
- ((LPCREATESTRUCT) lParam) -> hInstance, NULL) ;
- return 0 ;
-
- case WM_SETFOCUS :
- SetFocus (hwndEdit) ;
- return 0;
-
- case WM_SIZE :
- MoveWindow (hwndEdit, 0, 0, LOWORD(lParam),
- HIWORD(lParam), TRUE) ;
- return 0;
-
- case WM_COMMAND:
- if(wParam == 1 && HIWORD( lParam ) == EN_ERRSPACE)
- MessageBox (hwnd,"Edit control out of space.",
- szAppName,MB_OK | MB_ICONSTOP );
- return 0;
-
- case WM_DESTROY:
- PostQuitMessage(0);
- return 0;
- }
- return DefWindowProc (hwnd,message,wParam,lParam);
- }
-